#include<iostream>
#include<string>
#include<map>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int n;
int a[N];
int p[N];
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		p[a[i]] = i;
	}
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		if (a[i] != i) {
			ans++;
			if (p[a[i]] != i)ans++;
		}
	}
	//for (int i = 1; i <= n; i++) {
	//	int x = p[a[i]];
	//	int y = p[x];
	//	if (a[i] == i)continue;
	//	swap(a[i], a[a[i]]);
	//	/*a[p[a[i]]] = a[i];
	//	cout << "x==" << x << endl;
	//	cout << "y==" << y << endl;
	//	swap(a[x], a[y]);
	//	swap(x, y);*/
	//	/*p[a[i]] = a[i];
	//	swap(a[p[a[i]]], a[i]);
	//	a[p[a[i]]] = a[i];
	//	p[a[i]] = i;*/
	//	ans++;
	//}
	cout << ans << endl;
	return 0;
}